package br.com.eproducao.model.entity.producao;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;

import br.com.eproducao.model.entity.enums.Etapa;
import br.com.eproducao.model.entity.funcionario.Funcionario;

@Entity
public class Setor
{
	@Id
	private Long codSetor;

	private String descSetor;

	@OneToMany( fetch = FetchType.LAZY )
	private List<FuncionarioSetorLinhaProducao> funcionariosSetorLinhaProducao;

	@OneToMany
	private List<Funcionario> funcionarios;

	@OneToMany
	private List<Maquina> maquinas;

	private int sequencia;

	@Enumerated( EnumType.STRING )
	private Etapa etapa;

	protected Long getCodSetor()
	{
		return codSetor;
	}

	protected void setCodSetor( Long codSetor )
	{
		this.codSetor = codSetor;
	}

	protected String getDescSetor()
	{
		return descSetor;
	}

	protected void setDescSetor( String descSetor )
	{
		this.descSetor = descSetor;
	}

	public List<FuncionarioSetorLinhaProducao> getFuncionariosSetorLinhaProducao()
	{
		return funcionariosSetorLinhaProducao;
	}

	public void setFuncionariosSetorLinhaProducao( List<FuncionarioSetorLinhaProducao> funcionariosSetorLinhaProducao )
	{
		this.funcionariosSetorLinhaProducao = funcionariosSetorLinhaProducao;
	}

	protected List<Funcionario> getFuncionarios()
	{
		return funcionarios;
	}

	protected void setFuncionarios( List<Funcionario> funcionarios )
	{
		this.funcionarios = funcionarios;
	}

	protected List<Maquina> getMaquinas()
	{
		return maquinas;
	}

	protected void setMaquinas( List<Maquina> maquinas )
	{
		this.maquinas = maquinas;
	}

	protected int getSequencia()
	{
		return sequencia;
	}

	protected void setSequencia( int sequencia )
	{
		this.sequencia = sequencia;
	}

	protected Etapa getEtapa()
	{
		return etapa;
	}

	protected void setEtapa( Etapa etapa )
	{
		this.etapa = etapa;
	}

}
